package com.wejoy.video.middle.station.data.service.common;

import com.wejoy.video.middle.station.data.vo.system.VerifyCodeVO;

import java.io.IOException;
import java.io.OutputStream;

/**
 * 后台管理验证码生成
 *
 * @author Ousei
 * @date 2020年7月17日15:27:07
 */
public interface IVerifyCodeService {
    /**
     * 生成验证码并返回code，将图片写到os中
     *
     * @param width
     * @param height
     * @param os
     * @return
     * @throws IOException
     */
    String generate(int width, int height, OutputStream os) throws IOException;

    /**
     * 生成验证码对象
     *
     * @param width
     * @param height
     * @return
     * @throws IOException
     */
    VerifyCodeVO generate(int width, int height) throws IOException;


    /**
     * 根据时间戳保存缓存验证码
     *
     * @param timestamp
     * @return 验证码
     */
    String saveCacheCodeByTimestamp(String timestamp);

    /**
     * 清除验证码缓存
     *
     * @param timestamp
     */
    void clearCacheCodeByTimestamp(String timestamp);

    /**
     * 获取缓存验证码
     * @param timestamp
     * @return
     */
    String getCacheCodeByTimestamp(String timestamp);
}

